﻿package test;
/**
 * 对象初始化过程一
 * */
public class Base1 {
	//实例变量初始化器;
	private int i = getI();
	private int j = 1;
	//实例初始化器;
	{
		j = 2;
		System.out.println("实例初始化j="+j);
	}
	//构造函数;
	public Base1() {
		//1.构造函数执行的第一句是调用超类的构造函数super();
		//2.然后是实例变量初始化器;
		//3.然后是实例初始化器;
		//4.最后是自身构造函数;
		//5.所以加上实例变量的默认初始化值,在Java的对象初始化过程中,最多可以被初始化4次;
		j = 3;
	}

	public static void main(String[] args) {
		Base1 b1 = new Base1();
		//需要注意这里i的值为0;
		System.out.println("i=" + b1.i);
		//最后j是3
		System.out.println("j=" + b1.j);
	}

	public int getI() {
		return j;
	}

}
